package paint2.ui;

import java.util.List;
import javax.swing.JMenu;

public class Menu extends ElementoVisible{

    private final String nombre;
    private JMenu menu;

    public Menu(String nombre) {
        this.nombre = nombre;
        this.menu = null;
    }

    public void anadirAlMenuLos(List<ElementoVisible> elementos) {
        siNoExisteElMenuLoCrea();
        introduceLosElementosEnElMenu(elementos);
    }

    private void introduceLosElementosEnElMenu(List<ElementoVisible> elementos) {
        for (ElementoVisible elemento : elementos) {
            Elemento elementoDelMenu = (Elemento) elemento;
            menu.add(elementoDelMenu.construirParaMenu());
        }
    }

    private void siNoExisteElMenuLoCrea() {
        if (noExisteElMenu()) {
            creaElMenu();
        }
    }

    public JMenu getMenu() {
        return this.menu;
    }

    private void creaElMenu() {
        this.menu = new JMenu(this.nombre);
    }

    private boolean noExisteElMenu() {
        return this.menu == null;
    }

}
